﻿/**
 * Peter
 * Created by: Peter Development Team
 *    http://peter.codeplex.com/
 * 
 * GNU General Public License version 2 (GPLv2)
 *    http://peter.codeplex.com/license
 **/

using System.Collections.Generic;
using System.Windows.Threading;
using Irony.Parsing;

namespace Peter.Common.Code
{
   /// <summary>
   /// Interface for a grammar tree parser.
   /// </summary>
   public interface IGrammarTreeParser
   {
      /// <summary>
      /// Called to parse the given tree. This is called from a worker thread.
      /// </summary>
      /// <param name="tree">Tree to parse</param>
      /// <param name="dispatcher">Thread dispatcher.</param>
      IEnumerable<BaseCodeItem> ParseTree (ParseTree tree, Dispatcher dispatcher);
   }
}
